热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

加法器|减法_)

篇首语:本文由编程笔记#小编为大家整理,主要介绍了)相关的知识,希望对你有一定的参考价值。第四章数值的机器运算1.1基本算术运算

篇首语:本文由编程笔记#小编为大家整理,主要介绍了)相关的知识,希望对你有一定的参考价值。



第四章 数值的机器运算

1.1 基本算术运算的实现


1.1.1 加法器


1、全加器



2、串行加法器与并行加法器

(1)加法器有串行并行之分。在串行加法器中,只有一个全加器。并行加法器则由多个全加器组成。

(2)串行加法器
优点:具有器件少、成本低
缺点:运算速度太慢,低速专用运算器采用并行加法器

(3)并行加法器
可同时对数据的各位相加,但存在着一个加法的最长运算时间问题;

(4)最长运算时间
主要由进位信号的传递时间决定,而每个全加器本身的求和延迟只是次要因素。很明显,提高并行加法器速度的关键是尽量加快进位产生和传递的速度。


1.1.2 进位的产生和传递


1、进位表达式


2、串行进位的并行加法器


总延迟时间:与字长成正比。
1、每一级全加器的进位延迟时间为2ty
2、字长=n时,若从C0→Cn的最长延迟时间为2nty


1.3 并行加法器的快速进位


1、并行进位方式

(1)并行进位又叫先行进位、同时进位,其特点是各级进位信号同时形成。

(2)这种进位方式是快速的,若不考虑Gi、Pi的形成时间,从C0→Cn的最长延迟时间仅为2ty,而与字长无关


2、分组并行进位方式


(1)单级先行进位方式(组内并行、组间串行)




(2)多级先行进位方式(组内并行、组间并行)





1.2 定点加减运算


1.2.1 原码加减运算


1.2.2 补码加减运算


1、补码加法


2、补码减法



3、补码加减运算规则




4、符号扩展

补码的符号扩展非常简单,所有附加位均用符号位填充,即正数用0进行填充,负数用1填充。


1.2.3 补码的溢出判断与检测方法


1、溢出的产生

1)字长为n+1位的定点整数(其中一位为符号位),采用补码表示,当运算结果大于2n-1或小于-2n时,就产生溢出。
2)将两正数相加产生的溢出称为正溢;反之,两负数相加产生的溢出称为负溢


2、溢出检测方法


1)采用一个符号位

2)采用进位位判断

3)采用变形补码(双符号位补码)


1.2.3 补码定点加减运算的实现

1)减法与加法的不同之处在于,加法使用Y→F控制信号,减法使用Y →F 和 1→F控制信号,其余控制信号相同。
2)加法运算

3)减法运算


1.3 带符号数的移位和舍入操作


1.3.1 带符号数的移位操作


1、原码的移位规则


2、补码的移位规则


3、移位功能的实现

移位器是由与门或门组成的逻辑电路(实际是一个多路选择器),可以实现直传(不移位)、左斜一位送(左移一位)和右斜一位送(右移一位)的功能。


1.3.2 带符号数的舍入操作

经过运算后的数共有p+q位,现仅允许保留前p位。常见的舍入方法有:


1)恒舍(切断)

无论多余部分q位为何代码,一律舍去,保留部分的p位不作任何改变。


2)冯·诺依曼舍入法

这种舍入法又称为恒置1法,即不论多余部分q位为何代码,都把保留部分p位的最低位置1。


3)下舍上入法

下舍上入就是0舍1入。用将要舍去的q位的最高位作为判断标志,以决定保留部分是否加1。如该位为0,则舍去整个q位 (相当于恒舍);如该位为1,则在保留的p位的最低位上加1。


1.4 定点乘法运算


1.4.1 原码一位乘法


1.4.2 补码一位乘法

补码乘法以5次加法结束


1.5 规格化浮点运算




1.6 十进制整数的加法运算


1.6.1 8421码加法运算



1.6.2 余3码加法运算



1.7 逻辑运算和实现



推荐阅读
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • Windows 系统下 MySQL 8.0.11 的安装与配置
    本文详细介绍了在 Windows 操作系统中安装和配置 MySQL 8.0.11 的步骤,包括环境准备、安装过程以及后续配置,帮助用户顺利完成数据库的部署。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 本文探讨了如何在编程中正确处理包含空数组的 JSON 对象,提供了详细的代码示例和解决方案。 ... [详细]
  • PyCharm中配置Pylint静态代码分析工具
    本文详细介绍如何在PyCharm中配置和使用Pylint,帮助开发者进行静态代码检查,确保代码符合PEP8规范,提高代码质量。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
author-avatar
yueloong
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有